「李宏毅机器学习」学习笔记-Unsupervised Learning - Linear Methods
Unsupervised Learning
Clustering
假设现在有5个example,先建一个树结构,两两之间计算相似度,然后挑最相似的一对出来,把这两个merge,得到一个新的向量,这个向量同时代表第一个和第二个example,现在有四个example,重新两两计算相似度,再选取最相似的两个,再把它们merge起来,然后继续这样操作,最后把红色和绿色merge起来,建立出一个树结构。接着,在树上切一刀,如果是切在红色线,就会把5个data分成2类,切在蓝色线,会把5个data分成3类,切在绿色线,会把5个data分成4类。
K-means与HAC的最大差别是如何决定cluster的数目,在K-means里面,需要决定k的数值是多少,HAC不用直接决定cluster的数目,只需要决定切在树的哪里。
Dimension Reduction
极端的例子,如数字3,可以只用旋转的度数来描述这5张图片。
Feature selection如果data point的某一维都不变,就没有存在意义,可以去掉。 此方法适用场合有限。
Principle Component Analysis (PCA)
希望新的特征的variance尽量大,所以k个w选择的是cov(x)的前k个最大的eigenvalue对应的eigenvector。
数学推导
PCA – Another Point of View
用SVD方法得到PCA的解。
从神经网络的角度理解PCA。
train这个神经网络的参数,让output与input越接近越好。
用gradient descent解出来的结果与PCA的解出来的$w$是不一样,不能保证$w^i$,$w^j$ 正交。 效果也不会比PCA的解更好。
Weakness of PCA
PCA是无监督的,不知道数据的标签,这样在降维映射之后可能会把两类数据混到一起。 考虑数据标签的方法LDA(Linear Discriminant Analysis)可以避免这一问题。
PCA是线性的。把一个三维空间中的S形分布的数据做PCA之后的效果,就是把S形拍扁,而非展开。
Matrix Factorization
人买公仔,人和公仔背后都有共同的隐藏属性影响人买多少公仔,例如人的属性:萌傲娇/萌天然呆,公仔的属性:傲娇/天然呆。
我们要从购买记录(矩阵)中推断出latent factor,latent factor的数目需要事先定好。
对矩阵做SVD,SVD的中间矩阵可以并到左边矩阵或右边矩阵。
有missing data怎么办?用gradient descent做,先定义loss function L(只考虑有数值的数据)。
得到$r^A$,$r^B$,$r^C$,$r^D$,$r^E$,$r^1$,$r^2$,$r^3$,$r^4$之后,并不知道每个维度代表什么属性,需要事后分析。
已知姐寺与小唯属于天然呆类型、春日与炮姐属于傲娇类型,所以第一个维度代表天然呆,第二个维度代表傲娇。
MDS特别的地方是它不需要把每一个data都表示成特征向量,只需要知道特征向量之间的距离。MDS和PCA是有一些特殊的关系,如果用某一些特定的距离来衡量两个data point之间的距离的话,做MDS就等于是做PCA,PCA保留了原来在高维空间中的距离,如果两个点在高维空间中的距离是远的,在低微的空间中,它的距离也是远的,在高维空间中是接近的,在低维空间中也是接近的。
PCA有几率的版本叫Probabilistic PCA。
PCA有非线性的版本叫Kernel PCA。
CCA是针对有两种不同的source,比如做语音辨识,有两个source,一个是声音讯号,一个是唇形的image,可以把这两种不同的source都做降维。
ICA里不找orthogonal的component,找independent component。
LDA是supervise的方式。
如果本博文对您有帮助,可以赞助支持一波博主~
推荐阅读
- 本文链接:https://blueschang.github.io/2018/12/24/「李宏毅机器学习」学习笔记-Unsupervised Learning - Linear Methods/
- 版权声明:本博客所有文章除特别声明外,均采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 许可协议。转载请注明出处!